var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
		
		//booleans for quick detection;
		this.isIPhone = (this.OS == "iPhone/iPod");
		this.isMac = (this.OS == "Mac");
		this.isWin = (this.OS == "Win");
		this.isLinux = (this.OS == "Linux");
		this.isChrome = (this.browser == "Chrome");
		this.isSafari = (this.browser == "Safari");
		this.isFF = (this.browser == "Firefox");
		this.isIE = (this.browser == "Internet Explorer");
		this.isIE8 = (this.isIE && this.version == 8);
		this.isIE7 = (this.isIE && this.version == 7);
		this.isIE6 = (this.isIE && this.version <= 6);


	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{string: navigator.userAgent,subString: "Chrome",identity: "Chrome"},
		{string: navigator.userAgent,subString: "OmniWeb",versionSearch: "OmniWeb/",identity: "OmniWeb"},
		{string: navigator.vendor,subString: "Apple",identity: "Safari",versionSearch: "Version"},
		{prop: window.opera,identity: "Opera"},
		{string: navigator.vendor,subString: "iCab",identity: "iCab"},
		{string: navigator.vendor,subString: "KDE",identity: "Konqueror"},
		{string: navigator.userAgent,subString: "Firefox",identity: "Firefox"},
		{string: navigator.vendor,subString: "Camino",identity: "Camino"},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,subString: "Netscape",identity: "Netscape"},
		{string: navigator.userAgent,subString: "MSIE",identity: "Internet Explorer",versionSearch: "MSIE"},
		{string: navigator.userAgent,subString: "Gecko",identity: "Mozilla",versionSearch: "rv"},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,subString: "Mozilla",identity: "Netscape",versionSearch: "Mozilla"}
	],
	dataOS : [
		{string: navigator.platform,subString: "Win",identity: "Windows"},
		{string: navigator.platform,subString: "Mac",identity: "Mac"},
		{string: navigator.userAgent,subString: "iPhone",identity: "iPhone/iPod"},
		{string: navigator.platform,subString: "Linux",identity: "Linux"}
	]

};
BrowserDetect.init();


if(BrowserDetect.isIE6) {
	sfHover = function() {
		var sfEls = $$("#mainNav li").each( function($elm) {
			$elm.onmouseover=function() {this.addClassName("sfhover");}
			$elm.onmouseout=function() {this.removeClassName("sfhover");}
		});
	}
	document.observe("dom:loaded", sfHover);
}

